package com.improvess.statistical;

import Jama.Matrix;

public class Componente {
	
	private Matrix medias;
	private Matrix covariancia;
	private double probabilidadePriori = 0;

	public Matrix getMedias() {
		return medias;
	}

	public void setMedias(Matrix medias) {
		this.medias = medias;
	}

	public Matrix getCovariancia() {
		return covariancia;
	}

	public void setCovariancia(Matrix covariancia) {
		this.covariancia = covariancia;
	}
	
	public double getProbabilidadePriori() {
		return probabilidadePriori;
	}
	
	public void setProbabilidadePriori(double probabilidadePriori) {
		this.probabilidadePriori = probabilidadePriori;
	}
	
	@Override
	public String toString() {
		String saida = "";
		
		saida = saida + "Probabilidade classe: " + this.probabilidadePriori + "\n\n";
				
		saida = saida + "Medias: \n\n";
		
		saida = saida + toString(this.medias);
		
		saida = saida + "\n\nCovariancia: \n\n";
		
		saida = saida + toString(this.covariancia) + "\n\n";
		
		return saida;
	}
	
	private String toString(Matrix matrix){
		String retorno = "[ ";
		int linhas = matrix.getRowDimension(); 
		int colunas = matrix.getColumnDimension();
		
		for(int i = 0; i < linhas; i++){
			for(int j = 0; j < colunas; j++){
				retorno = retorno + matrix.get(i, j);
				if(j < colunas - 1){
					retorno = retorno + ", ";
				}
				
			}
			if(i < linhas - 1){
				retorno = retorno + "\n";
			}
		}
		retorno = retorno + " ]";
		return retorno;
	}
	
}
